Richedit do databze

Otázka od: MUDr. Patrik VALENTA

18. 9. 2002 21:19

Zdravim a mam otazecku ...
Jak ulozim richedit do BLOB fildu v databazi - konkretne FireBird ?
Jde mi o zachovani formatovani, kdyz pouziju text=' richedit1.text' tak
stratim formatovani.


valik
ICQ 54152896


---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.345 / Virová báze: 193 - datum vydání: 9.4.2002

Odpovedá: Vaclav Riha - Soft Consult

19. 9. 2002 7:00

Pouzivam nasledujici kod. Ten je bez problemu. Pouziti BLOBStreamu nekdy
způsobuje hlasku "Invalid typecast" pri praci s obrazky, takze radeji
takto.

pro ulozeni:
MS1:=TMemoryStream.Create;
RichEdit.Lines.SaveToStream(MS1);
MS1.Position:=0;
DBTable.Append; nebo Edit
TBLOBField(DBTable.FieldByName('Text')).LoadFromStream(MS1);
MS1.Free;
DBTable.Post;
RichEdit.Modified:=False;

pro nacteni:
MS1:=TMemoryStream.Create;
TBLOBField(DBTable.FieldByName('Text')).SaveToStream(MS1);
MS1.Position:=0;
RichEdit.Lines.LoadFromStream(MS1);
MS1.Free;


S pozdravem Václav Říha

-----Původní zpráva-----
Od: MUDr. Patrik VALENTA [SMTP:valentapat@volny.cz]
Odesláno: 18. září 2002 22:09
Komu: delphi konference
Předmět: Richedit do databze

Zdravim a mam otazecku ...
Jak ulozim richedit do BLOB fildu v databazi - konkretne FireBird ?
Jde mi o zachovani formatovani, kdyz pouziju text=' richedit1.text' tak
stratim formatovani.


valik
ICQ 54152896


---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.345 / Virová báze: 193 - datum vydání: 9.4.2002

Odpovedá: campulka

19. 9. 2002 6:50

Asi takto:

1) Z rich editu ulozit do streamu Richedit.Lines.SaveToStream()

2) v Datasetu je funkce CreateBlobStream() pomoci ktere se vytvori stream
pro BLOB field v tabulce.

3) Zkopirovat rich stream do blobu.

PS: V napovede k CreateBlobStream() je nejaky priklad.

Jirka.

> -----Original Message-----
> From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz]On
>
> Zdravim a mam otazecku ...
> Jak ulozim richedit do BLOB fildu v databazi - konkretne FireBird ?
> Jde mi o zachovani formatovani, kdyz pouziju text='
> richedit1.text' tak
> stratim formatovani.
>
>
> valik
> ICQ 54152896